TPTP Problem File: ITP178^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP178^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer StandardRules problem prob_429__5391446_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : StandardRules/prob_429__5391446_1 [Des21]

% Status   : Theorem
% Rating   : 0.33 v8.1.0, 0.25 v7.5.0
% Syntax   : Number of formulae    :  342 ( 107 unt;  63 typ;   0 def)
%            Number of atoms       :  800 ( 226 equ;   0 cnn)
%            Maximal formula atoms :   13 (   2 avg)
%            Number of connectives : 7968 (  59   ~;   1   |;  88   &;7453   @)
%                                         (   0 <=>; 367  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   28 (  10 avg)
%            Number of types       :    4 (   3 usr)
%            Number of type conns  :  172 ( 172   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   62 (  60 usr;   5 con; 0-10 aty)
%            Number of variables   : 1456 (  68   ^;1263   !;  29   ?;1456   :)
%                                         (  96  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:24.271
%------------------------------------------------------------------------------
% Could-be-implicit typings (9)
thf(ty_t_LabeledGraphSemantics_OStandard__Constant,type,
    standard_Constant: $tType > $tType ).

thf(ty_t_LabeledGraphSemantics_Oallegorical__term,type,
    allegorical_term: $tType > $tType ).

thf(ty_t_LabeledGraphs_Olabeled__graph,type,
    labeled_graph: $tType > $tType > $tType ).

thf(ty_t_Product__Type_Oprod,type,
    product_prod: $tType > $tType > $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_t_Nat_Onat,type,
    nat: $tType ).

thf(ty_t_itself,type,
    itself: $tType > $tType ).

thf(ty_tf_b,type,
    b: $tType ).

thf(ty_tf_a,type,
    a: $tType ).

% Explicit typings (54)
thf(sy_cl_HOL_Otype,type,
    type: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oord,type,
    ord: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oorder,type,
    order: 
      !>[A: $tType] : $o ).

thf(sy_cl_Finite__Set_Ofinite,type,
    finite_finite: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Olinorder,type,
    linorder: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Opreorder,type,
    preorder: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oorder__bot,type,
    order_bot: 
      !>[A: $tType] : $o ).

thf(sy_c_Finite__Set_Ofinite,type,
    finite_finite2: 
      !>[A: $tType] : ( ( set @ A ) > $o ) ).

thf(sy_c_LabeledGraphSemantics_Oallegorical__term_OA__Int,type,
    allegorical_A_Int: 
      !>[V: $tType] : ( ( allegorical_term @ V ) > ( allegorical_term @ V ) > ( allegorical_term @ V ) ) ).

thf(sy_c_LabeledGraphSemantics_Osemantics,type,
    semantics: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( allegorical_term @ A ) > ( set @ ( product_prod @ B @ B ) ) ) ).

thf(sy_c_LabeledGraphs_Ograph__homomorphism,type,
    graph_homomorphism: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ C ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).

thf(sy_c_LabeledGraphs_Ograph__union,type,
    graph_union: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_OLG,type,
    labeled_LG: 
      !>[L: $tType,V: $tType] : ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > ( labeled_graph @ L @ V ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Ocase__labeled__graph,type,
    labele1974067554_graph: 
      !>[L: $tType,V: $tType,A: $tType] : ( ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A ) > ( labeled_graph @ L @ V ) > A ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Oedges,type,
    labeled_edges: 
      !>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Overtices,type,
    labeled_vertices: 
      !>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ V ) ) ).

thf(sy_c_LabeledGraphs_Orestrict,type,
    restrict: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_MissingRelation_Ounivalent,type,
    univalent: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > $o ) ).

thf(sy_c_Orderings_Obot__class_Obot,type,
    bot_bot: 
      !>[A: $tType] : A ).

thf(sy_c_Orderings_Oord__class_Oless__eq,type,
    ord_less_eq: 
      !>[A: $tType] : ( A > A > $o ) ).

thf(sy_c_Product__Type_OPair,type,
    product_Pair: 
      !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).

thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
    product_rec_prod: 
      !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).

thf(sy_c_Product__Type_Oprod_Ofst,type,
    product_fst: 
      !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > A ) ).

thf(sy_c_Product__Type_Oprod_Osnd,type,
    product_snd: 
      !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > B ) ).

thf(sy_c_Relation_ODomain,type,
    domain: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) ) ).

thf(sy_c_Relation_OId__on,type,
    id_on: 
      !>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).

thf(sy_c_Relation_OImage,type,
    image: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) > ( set @ B ) ) ).

thf(sy_c_Relation_Orelcomp,type,
    relcomp: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ A @ C ) ) ) ).

thf(sy_c_RuleSemanticsConnection_Oinv__translation,type,
    inv_translation: ( set @ nat ) > $o ).

thf(sy_c_RuleSemanticsConnection_Otranslation,type,
    translation: 
      !>[C: $tType] : ( ( allegorical_term @ C ) > ( labeled_graph @ C @ nat ) ) ).

thf(sy_c_RulesAndChains_Oagree__on,type,
    agree_on: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).

thf(sy_c_RulesAndChains_Ochain,type,
    chain: 
      !>[L: $tType,V: $tType] : ( ( nat > ( labeled_graph @ L @ V ) ) > $o ) ).

thf(sy_c_RulesAndChains_Ochain__sup,type,
    chain_sup: 
      !>[L: $tType,V: $tType] : ( ( nat > ( labeled_graph @ L @ V ) ) > ( labeled_graph @ L @ V ) ) ).

thf(sy_c_RulesAndChains_Oconsequence__graph,type,
    consequence_graph: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) ) > ( labeled_graph @ A @ C ) > $o ) ).

thf(sy_c_RulesAndChains_Oextensible,type,
    extensible: 
      !>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ X @ V ) ) > $o ) ).

thf(sy_c_RulesAndChains_Ofair__chain,type,
    fair_chain: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) ) > ( nat > ( labeled_graph @ A @ C ) ) > $o ) ).

thf(sy_c_RulesAndChains_Ofin__maintained,type,
    fin_maintained: 
      !>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > $o ) ).

thf(sy_c_RulesAndChains_Oleast,type,
    least: 
      !>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).

thf(sy_c_RulesAndChains_Oleast__consequence__graph,type,
    least_559130134_graph: 
      !>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).

thf(sy_c_RulesAndChains_Omaintained,type,
    maintained: 
      !>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > $o ) ).

thf(sy_c_RulesAndChains_Opushout__step,type,
    pushout_step: 
      !>[X: $tType,A: $tType,C: $tType,B: $tType] : ( ( itself @ X ) > ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > $o ) ).

thf(sy_c_RulesAndChains_Oset__of__graph__rules,type,
    set_of_graph_rules: 
      !>[L: $tType,V: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > $o ) ).

thf(sy_c_RulesAndChains_Oweak__universal,type,
    weak_universal: 
      !>[X: $tType,A: $tType,C: $tType,B: $tType] : ( ( itself @ X ) > ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > ( set @ ( product_prod @ C @ B ) ) > ( set @ ( product_prod @ C @ B ) ) > $o ) ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oconstant__rules,type,
    standa1138209853_rules: 
      !>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oidentity__rules,type,
    standa2002409347_rules: 
      !>[A: $tType] : ( ( set @ ( standard_Constant @ A ) ) > ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Ononempty__rule,type,
    standa244753842y_rule: 
      !>[L: $tType] : ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oreflexivity__rule,type,
    standa245363227y_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Otop__rule,type,
    standa400804411p_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_C,type,
    c: set @ a ).

thf(sy_v_u,type,
    u: allegorical_term @ b ).

thf(sy_v_v,type,
    v: allegorical_term @ b ).

thf(sy_v_x,type,
    x: product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ).

% Relevant facts (256)
thf(fact_0_assms,axiom,
    member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ x @ ( standa1138209853_rules @ a @ c ) ).

% assms
thf(fact_1_graph__rule__translation,axiom,
    ! [A: $tType,X2: allegorical_term @ A,Y: allegorical_term @ A] :
      ( ( graph_homomorphism @ A @ nat @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) @ ( id_on @ nat @ ( labeled_vertices @ A @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) ) )
      & ( ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) )
        = ( restrict @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) )
      & ( finite_finite2 @ nat @ ( labeled_vertices @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) )
      & ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) ) ) ).

% graph_rule_translation
thf(fact_2_subgraph__refl,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G @ G @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
      = ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% subgraph_refl
thf(fact_3_subgraph__restrict,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G @ ( restrict @ A @ B @ G ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
      = ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% subgraph_restrict
thf(fact_4_graph__homomorphism__Id,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B] : ( graph_homomorphism @ A @ B @ B @ ( restrict @ A @ B @ A2 ) @ ( restrict @ A @ B @ A2 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) ) ).

% graph_homomorphism_Id
thf(fact_5_verts__in__translation__finite_I2_J,axiom,
    ! [A: $tType,X2: allegorical_term @ A] : ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ A @ nat @ ( translation @ A @ X2 ) ) ) ).

% verts_in_translation_finite(2)
thf(fact_6_are__rules_I1_J,axiom,
    ! [A: $tType] :
      ( ( graph_homomorphism @ A @ nat @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) @ ( id_on @ nat @ ( labeled_vertices @ A @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) ) )
      & ( ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) )
        = ( restrict @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) )
      & ( finite_finite2 @ nat @ ( labeled_vertices @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) )
      & ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) ) ) ).

% are_rules(1)
thf(fact_7_are__rules_I2_J,axiom,
    ! [B: $tType,T2: B] :
      ( ( graph_homomorphism @ B @ nat @ nat @ ( product_fst @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) @ ( id_on @ nat @ ( labeled_vertices @ B @ nat @ ( product_fst @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) ) )
      & ( ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) )
        = ( restrict @ B @ nat @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) )
      & ( finite_finite2 @ nat @ ( labeled_vertices @ B @ nat @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) )
      & ( finite_finite2 @ ( product_prod @ B @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ B @ nat @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) ) ) ).

% are_rules(2)
thf(fact_8_verts__in__translation__finite_I1_J,axiom,
    ! [A: $tType,X2: allegorical_term @ A] : ( finite_finite2 @ nat @ ( labeled_vertices @ A @ nat @ ( translation @ A @ X2 ) ) ) ).

% verts_in_translation_finite(1)
thf(fact_9_are__rules_I3_J,axiom,
    ! [C: $tType,I: C] :
      ( ( graph_homomorphism @ C @ nat @ nat @ ( product_fst @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) @ ( id_on @ nat @ ( labeled_vertices @ C @ nat @ ( product_fst @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) ) )
      & ( ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) )
        = ( restrict @ C @ nat @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) )
      & ( finite_finite2 @ nat @ ( labeled_vertices @ C @ nat @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) )
      & ( finite_finite2 @ ( product_prod @ C @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ C @ nat @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) ) ) ).

% are_rules(3)
thf(fact_10_prod_Ocollapse,axiom,
    ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
      ( ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_11_translation__graph,axiom,
    ! [A: $tType] :
      ( ( translation @ A )
      = ( ^ [X3: allegorical_term @ A] : ( restrict @ A @ nat @ ( translation @ A @ X3 ) ) ) ) ).

% translation_graph
thf(fact_12_vertices__restrict,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ B @ A] :
      ( ( labeled_vertices @ B @ A @ ( restrict @ B @ A @ G ) )
      = ( labeled_vertices @ B @ A @ G ) ) ).

% vertices_restrict
thf(fact_13_old_Oprod_Oinject,axiom,
    ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
      ( ( ( product_Pair @ A @ B @ A2 @ B2 )
        = ( product_Pair @ A @ B @ A3 @ B3 ) )
      = ( ( A2 = A3 )
        & ( B2 = B3 ) ) ) ).

% old.prod.inject
thf(fact_14_prod_Oinject,axiom,
    ! [A: $tType,B: $tType,X1: A,X22: B,Y1: A,Y2: B] :
      ( ( ( product_Pair @ A @ B @ X1 @ X22 )
        = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y2 ) ) ) ).

% prod.inject
thf(fact_15_restrict__idemp,axiom,
    ! [B: $tType,A: $tType,X4: labeled_graph @ A @ B] :
      ( ( restrict @ A @ B @ ( restrict @ A @ B @ X4 ) )
      = ( restrict @ A @ B @ X4 ) ) ).

% restrict_idemp
thf(fact_16_old_Oprod_Oinducts,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
      ( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_17_old_Oprod_Oexhaust,axiom,
    ! [A: $tType,B: $tType,Y3: product_prod @ A @ B] :
      ~ ! [A4: A,B4: B] :
          ( Y3
         != ( product_Pair @ A @ B @ A4 @ B4 ) ) ).

% old.prod.exhaust
thf(fact_18_prod__induct7,axiom,
    ! [G2: $tType,F: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) )] :
      ( ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F @ G2 ) @ E2 @ ( product_Pair @ F @ G2 @ F2 @ G3 ) ) ) ) ) ) )
     => ( P @ X4 ) ) ).

% prod_induct7
thf(fact_19_prod__induct6,axiom,
    ! [F: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) )] :
      ( ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F ) @ D2 @ ( product_Pair @ E @ F @ E2 @ F2 ) ) ) ) ) )
     => ( P @ X4 ) ) ).

% prod_induct6
thf(fact_20_prod__induct5,axiom,
    ! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
      ( ! [A4: A,B4: B,C2: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
     => ( P @ X4 ) ) ).

% prod_induct5
thf(fact_21_prod__induct4,axiom,
    ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
      ( ! [A4: A,B4: B,C2: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B4 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) )
     => ( P @ X4 ) ) ).

% prod_induct4
thf(fact_22_prod__induct3,axiom,
    ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ C )] :
      ( ! [A4: A,B4: B,C2: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C2 ) ) )
     => ( P @ X4 ) ) ).

% prod_induct3
thf(fact_23_prod__cases7,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F: $tType,G2: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) )] :
      ~ ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F,G3: G2] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F @ G2 ) @ E2 @ ( product_Pair @ F @ G2 @ F2 @ G3 ) ) ) ) ) ) ) ).

% prod_cases7
thf(fact_24_prod__cases6,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) )] :
      ~ ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F ) @ D2 @ ( product_Pair @ E @ F @ E2 @ F2 ) ) ) ) ) ) ).

% prod_cases6
thf(fact_25_prod__cases5,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
      ~ ! [A4: A,B4: B,C2: C,D2: D,E2: E] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).

% prod_cases5
thf(fact_26_prod__cases4,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
      ~ ! [A4: A,B4: B,C2: C,D2: D] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B4 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) ) ).

% prod_cases4
thf(fact_27_prod__cases3,axiom,
    ! [A: $tType,B: $tType,C: $tType,Y3: product_prod @ A @ ( product_prod @ B @ C )] :
      ~ ! [A4: A,B4: B,C2: C] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C2 ) ) ) ).

% prod_cases3
thf(fact_28_Pair__inject,axiom,
    ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
      ( ( ( product_Pair @ A @ B @ A2 @ B2 )
        = ( product_Pair @ A @ B @ A3 @ B3 ) )
     => ~ ( ( A2 = A3 )
         => ( B2 != B3 ) ) ) ).

% Pair_inject
thf(fact_29_prod__cases,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
      ( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_30_surj__pair,axiom,
    ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
    ? [X5: A,Y4: B] :
      ( P2
      = ( product_Pair @ A @ B @ X5 @ Y4 ) ) ).

% surj_pair
thf(fact_31_fst__conv,axiom,
    ! [B: $tType,A: $tType,X1: A,X22: B] :
      ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X1 @ X22 ) )
      = X1 ) ).

% fst_conv
thf(fact_32_fst__eqD,axiom,
    ! [B: $tType,A: $tType,X4: A,Y3: B,A2: A] :
      ( ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X4 @ Y3 ) )
        = A2 )
     => ( X4 = A2 ) ) ).

% fst_eqD
thf(fact_33_snd__conv,axiom,
    ! [Aa: $tType,A: $tType,X1: Aa,X22: A] :
      ( ( product_snd @ Aa @ A @ ( product_Pair @ Aa @ A @ X1 @ X22 ) )
      = X22 ) ).

% snd_conv
thf(fact_34_snd__eqD,axiom,
    ! [B: $tType,A: $tType,X4: B,Y3: A,A2: A] :
      ( ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X4 @ Y3 ) )
        = A2 )
     => ( Y3 = A2 ) ) ).

% snd_eqD
thf(fact_35_prod__eq__iff,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ^ [Y5: product_prod @ A @ B,Z: product_prod @ A @ B] : Y5 = Z )
      = ( ^ [S: product_prod @ A @ B,T3: product_prod @ A @ B] :
            ( ( ( product_fst @ A @ B @ S )
              = ( product_fst @ A @ B @ T3 ) )
            & ( ( product_snd @ A @ B @ S )
              = ( product_snd @ A @ B @ T3 ) ) ) ) ) ).

% prod_eq_iff
thf(fact_36_prod_Oexpand,axiom,
    ! [B: $tType,A: $tType,Prod: product_prod @ A @ B,Prod2: product_prod @ A @ B] :
      ( ( ( ( product_fst @ A @ B @ Prod )
          = ( product_fst @ A @ B @ Prod2 ) )
        & ( ( product_snd @ A @ B @ Prod )
          = ( product_snd @ A @ B @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_37_prod__eqI,axiom,
    ! [B: $tType,A: $tType,P2: product_prod @ A @ B,Q: product_prod @ A @ B] :
      ( ( ( product_fst @ A @ B @ P2 )
        = ( product_fst @ A @ B @ Q ) )
     => ( ( ( product_snd @ A @ B @ P2 )
          = ( product_snd @ A @ B @ Q ) )
       => ( P2 = Q ) ) ) ).

% prod_eqI
thf(fact_38_labeled__graph_Oexpand,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V,Labeled_graph2: labeled_graph @ L @ V] :
      ( ( ( ( labeled_edges @ L @ V @ Labeled_graph )
          = ( labeled_edges @ L @ V @ Labeled_graph2 ) )
        & ( ( labeled_vertices @ L @ V @ Labeled_graph )
          = ( labeled_vertices @ L @ V @ Labeled_graph2 ) ) )
     => ( Labeled_graph = Labeled_graph2 ) ) ).

% labeled_graph.expand
thf(fact_39_surjective__pairing,axiom,
    ! [B: $tType,A: $tType,T2: product_prod @ A @ B] :
      ( T2
      = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ T2 ) @ ( product_snd @ A @ B @ T2 ) ) ) ).

% surjective_pairing
thf(fact_40_prod_Oexhaust__sel,axiom,
    ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
      ( Prod
      = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_41_subgraph__preserves__hom,axiom,
    ! [A: $tType,B: $tType,C: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,X2: labeled_graph @ A @ C,H: set @ ( product_prod @ C @ B )] :
      ( ( graph_homomorphism @ A @ B @ B @ A5 @ B5 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A5 ) ) )
     => ( ( graph_homomorphism @ A @ C @ B @ X2 @ A5 @ H )
       => ( graph_homomorphism @ A @ C @ B @ X2 @ B5 @ H ) ) ) ).

% subgraph_preserves_hom
thf(fact_42_subgraph__trans,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B,G_3: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
     => ( ( graph_homomorphism @ A @ B @ B @ G_2 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_2 ) ) )
       => ( graph_homomorphism @ A @ B @ B @ G_1 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) ) ) ) ).

% subgraph_trans
thf(fact_43_Id__onI,axiom,
    ! [A: $tType,A2: A,A5: set @ A] :
      ( ( member @ A @ A2 @ A5 )
     => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ ( id_on @ A @ A5 ) ) ) ).

% Id_onI
thf(fact_44_set__of__graph__rules__def,axiom,
    ! [V: $tType,L: $tType] :
      ( ( set_of_graph_rules @ L @ V )
      = ( ^ [Rs: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) )] :
          ! [X6: product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V )] :
            ( ( member @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) @ X6 @ Rs )
           => ( ( graph_homomorphism @ L @ V @ V @ ( product_fst @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) @ ( id_on @ V @ ( labeled_vertices @ L @ V @ ( product_fst @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) ) )
              & ( ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 )
                = ( restrict @ L @ V @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) )
              & ( finite_finite2 @ V @ ( labeled_vertices @ L @ V @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) )
              & ( finite_finite2 @ ( product_prod @ L @ ( product_prod @ V @ V ) ) @ ( labeled_edges @ L @ V @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) ) ) ) ) ) ).

% set_of_graph_rules_def
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A2: A,P: A > $o] :
      ( ( member @ A @ A2 @ ( collect @ A @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A5: set @ A] :
      ( ( collect @ A
        @ ^ [X6: A] : ( member @ A @ X6 @ A5 ) )
      = A5 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q2: A > $o] :
      ( ! [X5: A] :
          ( ( P @ X5 )
          = ( Q2 @ X5 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q2 ) ) ) ).

% Collect_cong
thf(fact_48_verts__in__translation,axiom,
    ! [A: $tType,X2: allegorical_term @ A] : ( inv_translation @ ( labeled_vertices @ A @ nat @ ( translation @ A @ X2 ) ) ) ).

% verts_in_translation
thf(fact_49_old_Oprod_Orec,axiom,
    ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
      ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
      = ( F1 @ A2 @ B2 ) ) ).

% old.prod.rec
thf(fact_50_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [B: $tType,A: $tType,P: A > B > $o,X4: A,Y3: B,A2: product_prod @ A @ B] :
      ( ( P @ X4 @ Y3 )
     => ( ( A2
          = ( product_Pair @ A @ B @ X4 @ Y3 ) )
       => ( P @ ( product_fst @ A @ B @ A2 ) @ ( product_snd @ A @ B @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_51_conjI__realizer,axiom,
    ! [A: $tType,B: $tType,P: A > $o,P2: A,Q2: B > $o,Q: B] :
      ( ( P @ P2 )
     => ( ( Q2 @ Q )
       => ( ( P @ ( product_fst @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) )
          & ( Q2 @ ( product_snd @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_52_exI__realizer,axiom,
    ! [B: $tType,A: $tType,P: A > B > $o,Y3: A,X4: B] :
      ( ( P @ Y3 @ X4 )
     => ( P @ ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X4 @ Y3 ) ) @ ( product_fst @ B @ A @ ( product_Pair @ B @ A @ X4 @ Y3 ) ) ) ) ).

% exI_realizer
thf(fact_53_allegorical__term_Oinject_I1_J,axiom,
    ! [V: $tType,X11: allegorical_term @ V,X12: allegorical_term @ V,Y11: allegorical_term @ V,Y12: allegorical_term @ V] :
      ( ( ( allegorical_A_Int @ V @ X11 @ X12 )
        = ( allegorical_A_Int @ V @ Y11 @ Y12 ) )
      = ( ( X11 = Y11 )
        & ( X12 = Y12 ) ) ) ).

% allegorical_term.inject(1)
thf(fact_54_fin__maintainedI,axiom,
    ! [B: $tType,C: $tType,A: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C] :
      ( ! [F3: labeled_graph @ A @ B,F2: set @ ( product_prod @ B @ C )] :
          ( ( ( F3
              = ( restrict @ A @ B @ F3 ) )
            & ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ F3 ) )
            & ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ F3 ) ) )
         => ( ( graph_homomorphism @ A @ B @ B @ F3 @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ F3 ) ) )
           => ( ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ F3 @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) @ G @ F2 )
             => ( ( graph_homomorphism @ A @ B @ C @ F3 @ G @ F2 )
               => ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ F3 @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) @ G @ F2 ) ) ) ) )
     => ( fin_maintained @ A @ B @ C @ R @ G ) ) ).

% fin_maintainedI
thf(fact_55_set__of__graph__rulesD_I1_J,axiom,
    ! [B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
      ( ( set_of_graph_rules @ A @ B @ Rs2 )
     => ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
       => ( ( ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R )
            = ( restrict @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
          & ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
          & ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).

% set_of_graph_rulesD(1)
thf(fact_56_set__of__graph__rulesD_I2_J,axiom,
    ! [B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
      ( ( set_of_graph_rules @ A @ B @ Rs2 )
     => ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
       => ( ( ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R )
            = ( restrict @ A @ B @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
          & ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
          & ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).

% set_of_graph_rulesD(2)
thf(fact_57_extensible__refl,axiom,
    ! [A: $tType,C: $tType,B: $tType,R: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ R @ G @ F4 )
     => ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R @ R ) @ G @ F4 ) ) ).

% extensible_refl
thf(fact_58_set__of__graph__rulesD_I3_J,axiom,
    ! [B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
      ( ( set_of_graph_rules @ A @ B @ Rs2 )
     => ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
       => ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).

% set_of_graph_rulesD(3)
thf(fact_59_exE__realizer_H,axiom,
    ! [A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A] :
      ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
     => ~ ! [X5: B,Y4: A] :
            ~ ( P @ Y4 @ X5 ) ) ).

% exE_realizer'
thf(fact_60_Id__onE,axiom,
    ! [A: $tType,C3: product_prod @ A @ A,A5: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ C3 @ ( id_on @ A @ A5 ) )
     => ~ ! [X5: A] :
            ( ( member @ A @ X5 @ A5 )
           => ( C3
             != ( product_Pair @ A @ A @ X5 @ X5 ) ) ) ) ).

% Id_onE
thf(fact_61_Id__on__eqI,axiom,
    ! [A: $tType,A2: A,B2: A,A5: set @ A] :
      ( ( A2 = B2 )
     => ( ( member @ A @ A2 @ A5 )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ ( id_on @ A @ A5 ) ) ) ) ).

% Id_on_eqI
thf(fact_62_Id__on__iff,axiom,
    ! [A: $tType,X4: A,Y3: A,A5: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y3 ) @ ( id_on @ A @ A5 ) )
      = ( ( X4 = Y3 )
        & ( member @ A @ X4 @ A5 ) ) ) ).

% Id_on_iff
thf(fact_63_fin__maintained__def,axiom,
    ! [V: $tType,X: $tType,L: $tType] :
      ( ( fin_maintained @ L @ X @ V )
      = ( ^ [R2: product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ),G4: labeled_graph @ L @ V] :
          ! [F5: labeled_graph @ L @ X,F6: set @ ( product_prod @ X @ V )] :
            ( ( ( F5
                = ( restrict @ L @ X @ F5 ) )
              & ( finite_finite2 @ X @ ( labeled_vertices @ L @ X @ F5 ) )
              & ( finite_finite2 @ ( product_prod @ L @ ( product_prod @ X @ X ) ) @ ( labeled_edges @ L @ X @ F5 ) ) )
           => ( ( graph_homomorphism @ L @ X @ X @ F5 @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ ( id_on @ X @ ( labeled_vertices @ L @ X @ F5 ) ) )
             => ( ( extensible @ L @ X @ V @ ( product_Pair @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ F5 @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) ) @ G4 @ F6 )
               => ( ( graph_homomorphism @ L @ X @ V @ F5 @ G4 @ F6 )
                 => ( extensible @ L @ X @ V @ ( product_Pair @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ F5 @ ( product_snd @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) ) @ G4 @ F6 ) ) ) ) ) ) ) ).

% fin_maintained_def
thf(fact_64_fin__maintained__maintained,axiom,
    ! [B: $tType,C: $tType,A: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C] :
      ( ( ( ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R )
          = ( restrict @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
        & ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
        & ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) )
     => ( ( fin_maintained @ A @ B @ C @ R @ G )
        = ( maintained @ A @ B @ C @ R @ G ) ) ) ).

% fin_maintained_maintained
thf(fact_65_consequence__graphD_I2_J,axiom,
    ! [C: $tType,B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
      ( ( consequence_graph @ A @ B @ C @ Rs2 @ G )
     => ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
       => ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).

% consequence_graphD(2)
thf(fact_66_finite__code,axiom,
    ! [A: $tType] :
      ( ( finite_finite @ A )
     => ( ( finite_finite2 @ A )
        = ( ^ [A6: set @ A] : $true ) ) ) ).

% finite_code
thf(fact_67_fair__chainD_I2_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S2: nat > ( labeled_graph @ A @ C ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),I: nat,F4: set @ ( product_prod @ B @ C )] :
      ( ( fair_chain @ A @ B @ C @ Rs2 @ S2 )
     => ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
       => ( ( graph_homomorphism @ A @ B @ C @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( S2 @ I ) @ F4 )
         => ? [J: nat] : ( extensible @ A @ B @ C @ R @ ( S2 @ J ) @ F4 ) ) ) ) ).

% fair_chainD(2)
thf(fact_68_identity__rules__graph__rule,axiom,
    ! [A: $tType,X4: product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ),L2: set @ ( standard_Constant @ A )] :
      ( ( member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) @ X4 @ ( standa2002409347_rules @ A @ L2 ) )
     => ( ( graph_homomorphism @ ( standard_Constant @ A ) @ nat @ nat @ ( product_fst @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) @ ( id_on @ nat @ ( labeled_vertices @ ( standard_Constant @ A ) @ nat @ ( product_fst @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) ) )
        & ( ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 )
          = ( restrict @ ( standard_Constant @ A ) @ nat @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) )
        & ( finite_finite2 @ nat @ ( labeled_vertices @ ( standard_Constant @ A ) @ nat @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) )
        & ( finite_finite2 @ ( product_prod @ ( standard_Constant @ A ) @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ ( standard_Constant @ A ) @ nat @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) ) ) ) ).

% identity_rules_graph_rule
thf(fact_69_maintainedI,axiom,
    ! [A: $tType,B: $tType,C: $tType,A5: labeled_graph @ C @ A,G: labeled_graph @ C @ B,B5: labeled_graph @ C @ A] :
      ( ! [F2: set @ ( product_prod @ A @ B )] :
          ( ( graph_homomorphism @ C @ A @ B @ A5 @ G @ F2 )
         => ( extensible @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A5 @ B5 ) @ G @ F2 ) )
     => ( maintained @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A5 @ B5 ) @ G ) ) ).

% maintainedI
thf(fact_70_sndI,axiom,
    ! [A: $tType,B: $tType,X4: product_prod @ A @ B,Y3: A,Z2: B] :
      ( ( X4
        = ( product_Pair @ A @ B @ Y3 @ Z2 ) )
     => ( ( product_snd @ A @ B @ X4 )
        = Z2 ) ) ).

% sndI
thf(fact_71_finite__identity__rules,axiom,
    ! [A: $tType,L2: set @ ( standard_Constant @ A )] :
      ( ( finite_finite2 @ ( standard_Constant @ A ) @ L2 )
     => ( finite_finite2 @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) @ ( standa2002409347_rules @ A @ L2 ) ) ) ).

% finite_identity_rules
thf(fact_72_maintained__refl,axiom,
    ! [B: $tType,C: $tType,A: $tType,R: labeled_graph @ A @ B,G: labeled_graph @ A @ C] : ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R @ R ) @ G ) ).

% maintained_refl
thf(fact_73_consequence__graphI,axiom,
    ! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C] :
      ( ! [R3: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
          ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R3 @ Rs2 )
         => ( maintained @ A @ B @ C @ R3 @ G ) )
     => ( ! [R3: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
            ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R3 @ Rs2 )
           => ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) ) ) )
       => ( ( G
            = ( restrict @ A @ C @ G ) )
         => ( consequence_graph @ A @ B @ C @ Rs2 @ G ) ) ) ) ).

% consequence_graphI
thf(fact_74_consequence__graphD_I1_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
      ( ( consequence_graph @ A @ B @ C @ Rs2 @ G )
     => ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
       => ( maintained @ A @ B @ C @ R @ G ) ) ) ).

% consequence_graphD(1)
thf(fact_75_consequence__graphD_I3_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C] :
      ( ( consequence_graph @ A @ B @ C @ Rs2 @ G )
     => ( G
        = ( restrict @ A @ C @ G ) ) ) ).

% consequence_graphD(3)
thf(fact_76_maintained__then__fin__maintained,axiom,
    ! [B: $tType,C: $tType,A: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C] :
      ( ( maintained @ A @ B @ C @ R @ G )
     => ( fin_maintained @ A @ B @ C @ R @ G ) ) ).

% maintained_then_fin_maintained
thf(fact_77_finite,axiom,
    ! [A: $tType] :
      ( ( finite_finite @ A )
     => ! [A5: set @ A] : ( finite_finite2 @ A @ A5 ) ) ).

% finite
thf(fact_78_finite__set__choice,axiom,
    ! [B: $tType,A: $tType,A5: set @ A,P: A > B > $o] :
      ( ( finite_finite2 @ A @ A5 )
     => ( ! [X5: A] :
            ( ( member @ A @ X5 @ A5 )
           => ? [X_1: B] : ( P @ X5 @ X_1 ) )
       => ? [F2: A > B] :
          ! [X7: A] :
            ( ( member @ A @ X7 @ A5 )
           => ( P @ X7 @ ( F2 @ X7 ) ) ) ) ) ).

% finite_set_choice
thf(fact_79_consequence__graph__def,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( consequence_graph @ A @ B @ C )
      = ( ^ [Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G4: labeled_graph @ A @ C] :
            ( ( G4
              = ( restrict @ A @ C @ G4 ) )
            & ! [X6: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
                ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ X6 @ Rs )
               => ( ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ X6 ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ X6 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ X6 ) ) ) )
                  & ( maintained @ A @ B @ C @ X6 @ G4 ) ) ) ) ) ) ).

% consequence_graph_def
thf(fact_80_maintained__def,axiom,
    ! [V: $tType,X: $tType,L: $tType] :
      ( ( maintained @ L @ X @ V )
      = ( ^ [R2: product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ),G4: labeled_graph @ L @ V] :
          ! [F6: set @ ( product_prod @ X @ V )] :
            ( ( graph_homomorphism @ L @ X @ V @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ G4 @ F6 )
           => ( extensible @ L @ X @ V @ R2 @ G4 @ F6 ) ) ) ) ).

% maintained_def
thf(fact_81_maintainedD,axiom,
    ! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
      ( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A5 @ B5 ) @ G )
     => ( ( graph_homomorphism @ A @ B @ C @ A5 @ G @ F4 )
       => ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A5 @ B5 ) @ G @ F4 ) ) ) ).

% maintainedD
thf(fact_82_fstI,axiom,
    ! [B: $tType,A: $tType,X4: product_prod @ A @ B,Y3: A,Z2: B] :
      ( ( X4
        = ( product_Pair @ A @ B @ Y3 @ Z2 ) )
     => ( ( product_fst @ A @ B @ X4 )
        = Y3 ) ) ).

% fstI
thf(fact_83_least__consequence__graphI,axiom,
    ! [X: $tType,A: $tType,C: $tType,L: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),G: labeled_graph @ L @ C,S2: labeled_graph @ L @ C,T2: itself @ X] :
      ( ( consequence_graph @ L @ A @ C @ Rs2 @ G )
     => ( ( graph_homomorphism @ L @ C @ C @ S2 @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S2 ) ) )
       => ( ! [C4: labeled_graph @ L @ X] :
              ( ( consequence_graph @ L @ A @ X @ Rs2 @ C4 )
             => ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S2 @ G ) @ C4 ) )
         => ( least_559130134_graph @ X @ L @ A @ C @ T2 @ Rs2 @ S2 @ G ) ) ) ) ).

% least_consequence_graphI
thf(fact_84_leastI,axiom,
    ! [X: $tType,A: $tType,C: $tType,L: $tType,S2: labeled_graph @ L @ C,G: labeled_graph @ L @ C,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),T2: itself @ X] :
      ( ( graph_homomorphism @ L @ C @ C @ S2 @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S2 ) ) )
     => ( ! [C4: labeled_graph @ L @ X] :
            ( ( consequence_graph @ L @ A @ X @ Rs2 @ C4 )
           => ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S2 @ G ) @ C4 ) )
       => ( least @ X @ L @ A @ C @ T2 @ Rs2 @ S2 @ G ) ) ) ).

% leastI
thf(fact_85_least__def,axiom,
    ! [L: $tType,V: $tType,C: $tType,X: $tType] :
      ( ( least @ X @ L @ V @ C )
      = ( ^ [Uu: itself @ X,Rs: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S3: labeled_graph @ L @ C,G4: labeled_graph @ L @ C] :
            ( ( graph_homomorphism @ L @ C @ C @ S3 @ G4 @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S3 ) ) )
            & ! [C5: labeled_graph @ L @ X] :
                ( ( consequence_graph @ L @ V @ X @ Rs @ C5 )
               => ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S3 @ G4 ) @ C5 ) ) ) ) ) ).

% least_def
thf(fact_86_fair__chain__impl__consequence__graph,axiom,
    ! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S2: nat > ( labeled_graph @ A @ C )] :
      ( ( fair_chain @ A @ B @ C @ Rs2 @ S2 )
     => ( ! [R3: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
            ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R3 @ Rs2 )
           => ( ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) ) )
              & ( ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 )
                = ( restrict @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) )
              & ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) )
              & ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) ) ) )
       => ( consequence_graph @ A @ B @ C @ Rs2 @ ( chain_sup @ A @ C @ S2 ) ) ) ) ).

% fair_chain_impl_consequence_graph
thf(fact_87_fair__chainI,axiom,
    ! [C: $tType,B: $tType,A: $tType,S2: nat > ( labeled_graph @ A @ B ),Rs2: set @ ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) )] :
      ( ( chain @ A @ B @ S2 )
     => ( ! [R3: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),F2: set @ ( product_prod @ C @ B ),I2: nat] :
            ( ( member @ ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) ) @ R3 @ Rs2 )
           => ( ( graph_homomorphism @ A @ C @ B @ ( product_fst @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R3 ) @ ( S2 @ I2 ) @ F2 )
             => ? [J2: nat] : ( extensible @ A @ C @ B @ R3 @ ( S2 @ J2 ) @ F2 ) ) )
       => ( fair_chain @ A @ C @ B @ Rs2 @ S2 ) ) ) ).

% fair_chainI
thf(fact_88_maintained__holds__iff,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,E_L: allegorical_term @ A,E_R: allegorical_term @ A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( maintained @ A @ nat @ B @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ E_L ) @ ( translation @ A @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) @ G )
        = ( ( semantics @ A @ B @ G @ ( product_fst @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) )
          = ( semantics @ A @ B @ G @ ( product_snd @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) ) ) ) ) ).

% maintained_holds_iff
thf(fact_89_fair__chain__def,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( fair_chain @ A @ B @ C )
      = ( ^ [Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S3: nat > ( labeled_graph @ A @ C )] :
            ( ( chain @ A @ C @ S3 )
            & ! [R2: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),F6: set @ ( product_prod @ B @ C ),I3: nat] :
                ( ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R2 @ Rs )
                  & ( graph_homomorphism @ A @ B @ C @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R2 ) @ ( S3 @ I3 ) @ F6 ) )
               => ? [J3: nat] : ( extensible @ A @ B @ C @ R2 @ ( S3 @ J3 ) @ F6 ) ) ) ) ) ).

% fair_chain_def
thf(fact_90_chain__sup__graph,axiom,
    ! [B: $tType,A: $tType,S2: nat > ( labeled_graph @ A @ B )] :
      ( ( chain @ A @ B @ S2 )
     => ( ( chain_sup @ A @ B @ S2 )
        = ( restrict @ A @ B @ ( chain_sup @ A @ B @ S2 ) ) ) ) ).

% chain_sup_graph
thf(fact_91_extensible__chain__sup,axiom,
    ! [A: $tType,B: $tType,C: $tType,S2: nat > ( labeled_graph @ A @ B ),R: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),J4: nat,F4: set @ ( product_prod @ C @ B )] :
      ( ( chain @ A @ B @ S2 )
     => ( ( extensible @ A @ C @ B @ R @ ( S2 @ J4 ) @ F4 )
       => ( extensible @ A @ C @ B @ R @ ( chain_sup @ A @ B @ S2 ) @ F4 ) ) ) ).

% extensible_chain_sup
thf(fact_92_chain__sup__subgraph,axiom,
    ! [A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),J4: nat] :
      ( ( chain @ A @ B @ S2 )
     => ( graph_homomorphism @ A @ B @ B @ ( S2 @ J4 ) @ ( chain_sup @ A @ B @ S2 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( S2 @ J4 ) ) ) ) ) ).

% chain_sup_subgraph
thf(fact_93_chain__then__restrict,axiom,
    ! [A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),I: nat] :
      ( ( chain @ A @ B @ S2 )
     => ( ( S2 @ I )
        = ( restrict @ A @ B @ ( S2 @ I ) ) ) ) ).

% chain_then_restrict
thf(fact_94_least__consequence__graph__def,axiom,
    ! [L: $tType,V: $tType,C: $tType,X: $tType] :
      ( ( least_559130134_graph @ X @ L @ V @ C )
      = ( ^ [T3: itself @ X,Rs: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S3: labeled_graph @ L @ C,G4: labeled_graph @ L @ C] :
            ( ( consequence_graph @ L @ V @ C @ Rs @ G4 )
            & ( least @ X @ L @ V @ C @ T3 @ Rs @ S3 @ G4 ) ) ) ) ).

% least_consequence_graph_def
thf(fact_95_graph__homomorphism__semantics,axiom,
    ! [B: $tType,C: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),A2: B,B2: B,E3: allegorical_term @ A,A3: C,B3: C] :
      ( ( graph_homomorphism @ A @ B @ C @ A5 @ B5 @ F4 )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
       => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ A2 @ A3 ) @ F4 )
         => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B2 @ B3 ) @ F4 )
           => ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ A3 @ B3 ) @ ( semantics @ A @ C @ B5 @ E3 ) ) ) ) ) ) ).

% graph_homomorphism_semantics
thf(fact_96_fair__chainD_I1_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S2: nat > ( labeled_graph @ A @ C )] :
      ( ( fair_chain @ A @ B @ C @ Rs2 @ S2 )
     => ( chain @ A @ C @ S2 ) ) ).

% fair_chainD(1)
thf(fact_97_semantics__in__vertices_I2_J,axiom,
    ! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,A2: B,B2: B,E3: allegorical_term @ A] :
      ( ( A5
        = ( restrict @ A @ B @ A5 ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
       => ( member @ B @ B2 @ ( labeled_vertices @ A @ B @ A5 ) ) ) ) ).

% semantics_in_vertices(2)
thf(fact_98_semantics__in__vertices_I1_J,axiom,
    ! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,A2: B,B2: B,E3: allegorical_term @ A] :
      ( ( A5
        = ( restrict @ A @ B @ A5 ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
       => ( member @ B @ A2 @ ( labeled_vertices @ A @ B @ A5 ) ) ) ) ).

% semantics_in_vertices(1)
thf(fact_99_subgraph__semantics,axiom,
    ! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,A2: B,B2: B,E3: allegorical_term @ A] :
      ( ( graph_homomorphism @ A @ B @ B @ A5 @ B5 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A5 ) ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
       => ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ B5 @ E3 ) ) ) ) ).

% subgraph_semantics
thf(fact_100_eq__as__subsets,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ B @ A,E_1: allegorical_term @ B,E_2: allegorical_term @ B] :
      ( ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ E_2 ) ) )
        = ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ E_2 ) ) ) )
      = ( ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) )
          = ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) ) )
        & ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_2 @ ( allegorical_A_Int @ B @ E_2 @ E_1 ) ) ) )
          = ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_2 @ ( allegorical_A_Int @ B @ E_2 @ E_1 ) ) ) ) ) ) ) ).

% eq_as_subsets
thf(fact_101_maintained__holds__subset__iff,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,E_L: allegorical_term @ A,E_R: allegorical_term @ A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( maintained @ A @ nat @ B @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ ( product_fst @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) ) @ ( translation @ A @ ( product_snd @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) ) ) @ G )
        = ( ord_less_eq @ ( set @ ( product_prod @ B @ B ) ) @ ( semantics @ A @ B @ G @ E_L ) @ ( semantics @ A @ B @ G @ E_R ) ) ) ) ).

% maintained_holds_subset_iff
thf(fact_102_maintained__holds,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ B @ A,E_L: allegorical_term @ B,E_R: allegorical_term @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ ( semantics @ B @ A @ G @ E_L ) @ ( semantics @ B @ A @ G @ E_R ) )
     => ( maintained @ B @ nat @ A @ ( product_Pair @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( translation @ B @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_L @ ( allegorical_A_Int @ B @ E_L @ E_R ) ) ) ) @ ( translation @ B @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_L @ ( allegorical_A_Int @ B @ E_L @ E_R ) ) ) ) ) @ G ) ) ).

% maintained_holds
thf(fact_103_sentence__iff,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ B @ A,E_1: allegorical_term @ B,E_2: allegorical_term @ B] :
      ( ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) )
        = ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) ) )
      = ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ ( semantics @ B @ A @ G @ E_1 ) @ ( semantics @ B @ A @ G @ E_2 ) ) ) ).

% sentence_iff
thf(fact_104_find__graph__occurence,axiom,
    ! [A: $tType,B: $tType,C: $tType,S2: nat > ( labeled_graph @ A @ B ),E4: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),V2: set @ C,F4: set @ ( product_prod @ C @ B )] :
      ( ( chain @ A @ B @ S2 )
     => ( ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ E4 )
       => ( ( finite_finite2 @ C @ V2 )
         => ( ( graph_homomorphism @ A @ C @ B @ ( labeled_LG @ A @ C @ E4 @ V2 ) @ ( chain_sup @ A @ B @ S2 ) @ F4 )
           => ? [I2: nat] : ( graph_homomorphism @ A @ C @ B @ ( labeled_LG @ A @ C @ E4 @ V2 ) @ ( S2 @ I2 ) @ F4 ) ) ) ) ) ).

% find_graph_occurence
thf(fact_105_eq__snd__iff,axiom,
    ! [A: $tType,B: $tType,B2: A,P2: product_prod @ B @ A] :
      ( ( B2
        = ( product_snd @ B @ A @ P2 ) )
      = ( ? [A7: B] :
            ( P2
            = ( product_Pair @ B @ A @ A7 @ B2 ) ) ) ) ).

% eq_snd_iff
thf(fact_106_eq__fst__iff,axiom,
    ! [A: $tType,B: $tType,A2: A,P2: product_prod @ A @ B] :
      ( ( A2
        = ( product_fst @ A @ B @ P2 ) )
      = ( ? [B6: B] :
            ( P2
            = ( product_Pair @ A @ B @ A2 @ B6 ) ) ) ) ).

% eq_fst_iff
thf(fact_107_labeled__graph_Oinject,axiom,
    ! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V,Y1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),Y2: set @ V] :
      ( ( ( labeled_LG @ L @ V @ X1 @ X22 )
        = ( labeled_LG @ L @ V @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y2 ) ) ) ).

% labeled_graph.inject
thf(fact_108_labeled__graph_Ocollapse,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
      ( ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) )
      = Labeled_graph ) ).

% labeled_graph.collapse
thf(fact_109_extensible__refl__concr,axiom,
    ! [A: $tType,C: $tType,B: $tType,E_1: set @ ( product_prod @ A @ ( product_prod @ B @ B ) ),V3: set @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),E_2: set @ ( product_prod @ A @ ( product_prod @ B @ B ) )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_1 @ V3 ) @ G @ F4 )
     => ( ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ ( labeled_LG @ A @ B @ E_1 @ V3 ) @ ( labeled_LG @ A @ B @ E_2 @ V3 ) ) @ G @ F4 )
        = ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_2 @ V3 ) @ G @ F4 ) ) ) ).

% extensible_refl_concr
thf(fact_110_labeled__graph_Oexhaust,axiom,
    ! [L: $tType,V: $tType,Y3: labeled_graph @ L @ V] :
      ~ ! [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X23: set @ V] :
          ( Y3
         != ( labeled_LG @ L @ V @ X13 @ X23 ) ) ).

% labeled_graph.exhaust
thf(fact_111_labeled__graph_Oinduct,axiom,
    ! [V: $tType,L: $tType,P: ( labeled_graph @ L @ V ) > $o,Labeled_graph: labeled_graph @ L @ V] :
      ( ! [X1a: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X2a: set @ V] : ( P @ ( labeled_LG @ L @ V @ X1a @ X2a ) )
     => ( P @ Labeled_graph ) ) ).

% labeled_graph.induct
thf(fact_112_subrelI,axiom,
    ! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ A @ B )] :
      ( ! [X5: A,Y4: B] :
          ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ R4 )
         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ S4 ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R4 @ S4 ) ) ).

% subrelI
thf(fact_113_finite__has__maximal2,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A5: set @ A,A2: A] :
          ( ( finite_finite2 @ A @ A5 )
         => ( ( member @ A @ A2 @ A5 )
           => ? [X5: A] :
                ( ( member @ A @ X5 @ A5 )
                & ( ord_less_eq @ A @ A2 @ X5 )
                & ! [Xa: A] :
                    ( ( member @ A @ Xa @ A5 )
                   => ( ( ord_less_eq @ A @ X5 @ Xa )
                     => ( X5 = Xa ) ) ) ) ) ) ) ).

% finite_has_maximal2
thf(fact_114_finite__has__minimal2,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A5: set @ A,A2: A] :
          ( ( finite_finite2 @ A @ A5 )
         => ( ( member @ A @ A2 @ A5 )
           => ? [X5: A] :
                ( ( member @ A @ X5 @ A5 )
                & ( ord_less_eq @ A @ X5 @ A2 )
                & ! [Xa: A] :
                    ( ( member @ A @ Xa @ A5 )
                   => ( ( ord_less_eq @ A @ Xa @ X5 )
                     => ( X5 = Xa ) ) ) ) ) ) ) ).

% finite_has_minimal2
thf(fact_115_finite__subset,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
     => ( ( finite_finite2 @ A @ B5 )
       => ( finite_finite2 @ A @ A5 ) ) ) ).

% finite_subset
thf(fact_116_infinite__super,axiom,
    ! [A: $tType,S2: set @ A,T4: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ S2 @ T4 )
     => ( ~ ( finite_finite2 @ A @ S2 )
       => ~ ( finite_finite2 @ A @ T4 ) ) ) ).

% infinite_super
thf(fact_117_rev__finite__subset,axiom,
    ! [A: $tType,B5: set @ A,A5: set @ A] :
      ( ( finite_finite2 @ A @ B5 )
     => ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
       => ( finite_finite2 @ A @ A5 ) ) ) ).

% rev_finite_subset
thf(fact_118_labeled__graph_Osel_I2_J,axiom,
    ! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labeled_vertices @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = X22 ) ).

% labeled_graph.sel(2)
thf(fact_119_labeled__graph_Osel_I1_J,axiom,
    ! [V: $tType,L: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labeled_edges @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = X1 ) ).

% labeled_graph.sel(1)
thf(fact_120_restrict__subsD,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G ) ) )
     => ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% restrict_subsD
thf(fact_121_subgraph__def2,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( G_1
        = ( restrict @ A @ B @ G_1 ) )
     => ( ( G_2
          = ( restrict @ A @ B @ G_2 ) )
       => ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
          = ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
            & ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ) ) ) ).

% subgraph_def2
thf(fact_122_labeled__graph_Oexhaust__sel,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
      ( Labeled_graph
      = ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ).

% labeled_graph.exhaust_sel
thf(fact_123_subgraph__subset_I1_J,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
     => ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ).

% subgraph_subset(1)
thf(fact_124_maintainedD2,axiom,
    ! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
      ( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A5 @ B5 ) @ G )
     => ( ( graph_homomorphism @ A @ B @ C @ A5 @ G @ F4 )
       => ~ ! [G3: set @ ( product_prod @ B @ C )] :
              ( ( graph_homomorphism @ A @ B @ C @ B5 @ G @ G3 )
             => ~ ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F4 @ G3 ) ) ) ) ).

% maintainedD2
thf(fact_125_subgraph__subset_I2_J,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G_1 ) ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ).

% subgraph_subset(2)
thf(fact_126_pushout__step__def,axiom,
    ! [A: $tType,C: $tType,B: $tType,X: $tType] :
      ( ( pushout_step @ X @ A @ C @ B )
      = ( ^ [T3: itself @ X,R2: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
            ( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
            & ? [F_1: set @ ( product_prod @ C @ B ),F_2: set @ ( product_prod @ C @ B )] :
                ( ( graph_homomorphism @ A @ C @ B @ ( product_fst @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R2 ) @ G_12 @ F_1 )
                & ( graph_homomorphism @ A @ C @ B @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R2 ) @ G_22 @ F_2 )
                & ( ord_less_eq @ ( set @ ( product_prod @ C @ B ) ) @ F_1 @ F_2 )
                & ( weak_universal @ X @ A @ C @ B @ T3 @ R2 @ G_12 @ G_22 @ F_1 @ F_2 ) ) ) ) ) ).

% pushout_step_def
thf(fact_127_subsetI,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A] :
      ( ! [X5: A] :
          ( ( member @ A @ X5 @ A5 )
         => ( member @ A @ X5 @ B5 ) )
     => ( ord_less_eq @ ( set @ A ) @ A5 @ B5 ) ) ).

% subsetI
thf(fact_128_subset__antisym,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
     => ( ( ord_less_eq @ ( set @ A ) @ B5 @ A5 )
       => ( A5 = B5 ) ) ) ).

% subset_antisym
thf(fact_129_order__refl,axiom,
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X4: A] : ( ord_less_eq @ A @ X4 @ X4 ) ) ).

% order_refl
thf(fact_130_labeled__graph_Osplit__sel__asm,axiom,
    ! [A: $tType,V: $tType,L: $tType,P: A > $o,F4: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
      ( ( P @ ( labele1974067554_graph @ L @ V @ A @ F4 @ Labeled_graph ) )
      = ( ~ ( ( Labeled_graph
              = ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
            & ~ ( P @ ( F4 @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ) ).

% labeled_graph.split_sel_asm
thf(fact_131_labeled__graph_Ocase,axiom,
    ! [L: $tType,A: $tType,V: $tType,F4: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labele1974067554_graph @ L @ V @ A @ F4 @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = ( F4 @ X1 @ X22 ) ) ).

% labeled_graph.case
thf(fact_132_dual__order_Oantisym,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [B2: A,A2: A] :
          ( ( ord_less_eq @ A @ B2 @ A2 )
         => ( ( ord_less_eq @ A @ A2 @ B2 )
           => ( A2 = B2 ) ) ) ) ).

% dual_order.antisym
thf(fact_133_dual__order_Oeq__iff,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ( ( ^ [Y5: A,Z: A] : Y5 = Z )
        = ( ^ [A7: A,B6: A] :
              ( ( ord_less_eq @ A @ B6 @ A7 )
              & ( ord_less_eq @ A @ A7 @ B6 ) ) ) ) ) ).

% dual_order.eq_iff
thf(fact_134_dual__order_Otrans,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [B2: A,A2: A,C3: A] :
          ( ( ord_less_eq @ A @ B2 @ A2 )
         => ( ( ord_less_eq @ A @ C3 @ B2 )
           => ( ord_less_eq @ A @ C3 @ A2 ) ) ) ) ).

% dual_order.trans
thf(fact_135_linorder__wlog,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [P: A > A > $o,A2: A,B2: A] :
          ( ! [A4: A,B4: A] :
              ( ( ord_less_eq @ A @ A4 @ B4 )
             => ( P @ A4 @ B4 ) )
         => ( ! [A4: A,B4: A] :
                ( ( P @ B4 @ A4 )
               => ( P @ A4 @ B4 ) )
           => ( P @ A2 @ B2 ) ) ) ) ).

% linorder_wlog
thf(fact_136_dual__order_Orefl,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).

% dual_order.refl
thf(fact_137_order__trans,axiom,
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X4: A,Y3: A,Z2: A] :
          ( ( ord_less_eq @ A @ X4 @ Y3 )
         => ( ( ord_less_eq @ A @ Y3 @ Z2 )
           => ( ord_less_eq @ A @ X4 @ Z2 ) ) ) ) ).

% order_trans
thf(fact_138_order__class_Oorder_Oantisym,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A2: A,B2: A] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ord_less_eq @ A @ B2 @ A2 )
           => ( A2 = B2 ) ) ) ) ).

% order_class.order.antisym
thf(fact_139_ord__le__eq__trans,axiom,
    ! [A: $tType] :
      ( ( ord @ A )
     => ! [A2: A,B2: A,C3: A] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( B2 = C3 )
           => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).

% ord_le_eq_trans
thf(fact_140_ord__eq__le__trans,axiom,
    ! [A: $tType] :
      ( ( ord @ A )
     => ! [A2: A,B2: A,C3: A] :
          ( ( A2 = B2 )
         => ( ( ord_less_eq @ A @ B2 @ C3 )
           => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).

% ord_eq_le_trans
thf(fact_141_order__class_Oorder_Oeq__iff,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ( ( ^ [Y5: A,Z: A] : Y5 = Z )
        = ( ^ [A7: A,B6: A] :
              ( ( ord_less_eq @ A @ A7 @ B6 )
              & ( ord_less_eq @ A @ B6 @ A7 ) ) ) ) ) ).

% order_class.order.eq_iff
thf(fact_142_antisym__conv,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [Y3: A,X4: A] :
          ( ( ord_less_eq @ A @ Y3 @ X4 )
         => ( ( ord_less_eq @ A @ X4 @ Y3 )
            = ( X4 = Y3 ) ) ) ) ).

% antisym_conv
thf(fact_143_le__cases3,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [X4: A,Y3: A,Z2: A] :
          ( ( ( ord_less_eq @ A @ X4 @ Y3 )
           => ~ ( ord_less_eq @ A @ Y3 @ Z2 ) )
         => ( ( ( ord_less_eq @ A @ Y3 @ X4 )
             => ~ ( ord_less_eq @ A @ X4 @ Z2 ) )
           => ( ( ( ord_less_eq @ A @ X4 @ Z2 )
               => ~ ( ord_less_eq @ A @ Z2 @ Y3 ) )
             => ( ( ( ord_less_eq @ A @ Z2 @ Y3 )
                 => ~ ( ord_less_eq @ A @ Y3 @ X4 ) )
               => ( ( ( ord_less_eq @ A @ Y3 @ Z2 )
                   => ~ ( ord_less_eq @ A @ Z2 @ X4 ) )
                 => ~ ( ( ord_less_eq @ A @ Z2 @ X4 )
                     => ~ ( ord_less_eq @ A @ X4 @ Y3 ) ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_144_order_Otrans,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A2: A,B2: A,C3: A] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ord_less_eq @ A @ B2 @ C3 )
           => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).

% order.trans
thf(fact_145_le__cases,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [X4: A,Y3: A] :
          ( ~ ( ord_less_eq @ A @ X4 @ Y3 )
         => ( ord_less_eq @ A @ Y3 @ X4 ) ) ) ).

% le_cases
thf(fact_146_eq__refl,axiom,
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X4: A,Y3: A] :
          ( ( X4 = Y3 )
         => ( ord_less_eq @ A @ X4 @ Y3 ) ) ) ).

% eq_refl
thf(fact_147_linear,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [X4: A,Y3: A] :
          ( ( ord_less_eq @ A @ X4 @ Y3 )
          | ( ord_less_eq @ A @ Y3 @ X4 ) ) ) ).

% linear
thf(fact_148_antisym,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [X4: A,Y3: A] :
          ( ( ord_less_eq @ A @ X4 @ Y3 )
         => ( ( ord_less_eq @ A @ Y3 @ X4 )
           => ( X4 = Y3 ) ) ) ) ).

% antisym
thf(fact_149_eq__iff,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ( ( ^ [Y5: A,Z: A] : Y5 = Z )
        = ( ^ [X6: A,Y6: A] :
              ( ( ord_less_eq @ A @ X6 @ Y6 )
              & ( ord_less_eq @ A @ Y6 @ X6 ) ) ) ) ) ).

% eq_iff
thf(fact_150_ord__le__eq__subst,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ( ord @ B )
        & ( ord @ A ) )
     => ! [A2: A,B2: A,F4: A > B,C3: B] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ( F4 @ B2 )
              = C3 )
           => ( ! [X5: A,Y4: A] :
                  ( ( ord_less_eq @ A @ X5 @ Y4 )
                 => ( ord_less_eq @ B @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
             => ( ord_less_eq @ B @ ( F4 @ A2 ) @ C3 ) ) ) ) ) ).

% ord_le_eq_subst
thf(fact_151_ord__eq__le__subst,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ( ord @ B )
        & ( ord @ A ) )
     => ! [A2: A,F4: B > A,B2: B,C3: B] :
          ( ( A2
            = ( F4 @ B2 ) )
         => ( ( ord_less_eq @ B @ B2 @ C3 )
           => ( ! [X5: B,Y4: B] :
                  ( ( ord_less_eq @ B @ X5 @ Y4 )
                 => ( ord_less_eq @ A @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
             => ( ord_less_eq @ A @ A2 @ ( F4 @ C3 ) ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_152_order__subst2,axiom,
    ! [A: $tType,C: $tType] :
      ( ( ( order @ C )
        & ( order @ A ) )
     => ! [A2: A,B2: A,F4: A > C,C3: C] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ord_less_eq @ C @ ( F4 @ B2 ) @ C3 )
           => ( ! [X5: A,Y4: A] :
                  ( ( ord_less_eq @ A @ X5 @ Y4 )
                 => ( ord_less_eq @ C @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
             => ( ord_less_eq @ C @ ( F4 @ A2 ) @ C3 ) ) ) ) ) ).

% order_subst2
thf(fact_153_order__subst1,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ( order @ B )
        & ( order @ A ) )
     => ! [A2: A,F4: B > A,B2: B,C3: B] :
          ( ( ord_less_eq @ A @ A2 @ ( F4 @ B2 ) )
         => ( ( ord_less_eq @ B @ B2 @ C3 )
           => ( ! [X5: B,Y4: B] :
                  ( ( ord_less_eq @ B @ X5 @ Y4 )
                 => ( ord_less_eq @ A @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
             => ( ord_less_eq @ A @ A2 @ ( F4 @ C3 ) ) ) ) ) ) ).

% order_subst1
thf(fact_154_le__fun__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ( ( ord_less_eq @ ( A > B ) )
        = ( ^ [F6: A > B,G5: A > B] :
            ! [X6: A] : ( ord_less_eq @ B @ ( F6 @ X6 ) @ ( G5 @ X6 ) ) ) ) ) ).

% le_fun_def
thf(fact_155_le__funI,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ! [F4: A > B,G6: A > B] :
          ( ! [X5: A] : ( ord_less_eq @ B @ ( F4 @ X5 ) @ ( G6 @ X5 ) )
         => ( ord_less_eq @ ( A > B ) @ F4 @ G6 ) ) ) ).

% le_funI
thf(fact_156_le__funE,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ! [F4: A > B,G6: A > B,X4: A] :
          ( ( ord_less_eq @ ( A > B ) @ F4 @ G6 )
         => ( ord_less_eq @ B @ ( F4 @ X4 ) @ ( G6 @ X4 ) ) ) ) ).

% le_funE
thf(fact_157_le__funD,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ! [F4: A > B,G6: A > B,X4: A] :
          ( ( ord_less_eq @ ( A > B ) @ F4 @ G6 )
         => ( ord_less_eq @ B @ ( F4 @ X4 ) @ ( G6 @ X4 ) ) ) ) ).

% le_funD
thf(fact_158_Collect__mono__iff,axiom,
    ! [A: $tType,P: A > $o,Q2: A > $o] :
      ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) )
      = ( ! [X6: A] :
            ( ( P @ X6 )
           => ( Q2 @ X6 ) ) ) ) ).

% Collect_mono_iff
thf(fact_159_set__eq__subset,axiom,
    ! [A: $tType] :
      ( ( ^ [Y5: set @ A,Z: set @ A] : Y5 = Z )
      = ( ^ [A6: set @ A,B7: set @ A] :
            ( ( ord_less_eq @ ( set @ A ) @ A6 @ B7 )
            & ( ord_less_eq @ ( set @ A ) @ B7 @ A6 ) ) ) ) ).

% set_eq_subset
thf(fact_160_subset__trans,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A,C6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
     => ( ( ord_less_eq @ ( set @ A ) @ B5 @ C6 )
       => ( ord_less_eq @ ( set @ A ) @ A5 @ C6 ) ) ) ).

% subset_trans
thf(fact_161_Collect__mono,axiom,
    ! [A: $tType,P: A > $o,Q2: A > $o] :
      ( ! [X5: A] :
          ( ( P @ X5 )
         => ( Q2 @ X5 ) )
     => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) ) ) ).

% Collect_mono
thf(fact_162_subset__refl,axiom,
    ! [A: $tType,A5: set @ A] : ( ord_less_eq @ ( set @ A ) @ A5 @ A5 ) ).

% subset_refl
thf(fact_163_subset__iff,axiom,
    ! [A: $tType] :
      ( ( ord_less_eq @ ( set @ A ) )
      = ( ^ [A6: set @ A,B7: set @ A] :
          ! [T3: A] :
            ( ( member @ A @ T3 @ A6 )
           => ( member @ A @ T3 @ B7 ) ) ) ) ).

% subset_iff
thf(fact_164_equalityD2,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A] :
      ( ( A5 = B5 )
     => ( ord_less_eq @ ( set @ A ) @ B5 @ A5 ) ) ).

% equalityD2
thf(fact_165_equalityD1,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A] :
      ( ( A5 = B5 )
     => ( ord_less_eq @ ( set @ A ) @ A5 @ B5 ) ) ).

% equalityD1
thf(fact_166_subset__eq,axiom,
    ! [A: $tType] :
      ( ( ord_less_eq @ ( set @ A ) )
      = ( ^ [A6: set @ A,B7: set @ A] :
          ! [X6: A] :
            ( ( member @ A @ X6 @ A6 )
           => ( member @ A @ X6 @ B7 ) ) ) ) ).

% subset_eq
thf(fact_167_equalityE,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A] :
      ( ( A5 = B5 )
     => ~ ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
         => ~ ( ord_less_eq @ ( set @ A ) @ B5 @ A5 ) ) ) ).

% equalityE
thf(fact_168_subsetD,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A,C3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
     => ( ( member @ A @ C3 @ A5 )
       => ( member @ A @ C3 @ B5 ) ) ) ).

% subsetD
thf(fact_169_in__mono,axiom,
    ! [A: $tType,A5: set @ A,B5: set @ A,X4: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
     => ( ( member @ A @ X4 @ A5 )
       => ( member @ A @ X4 @ B5 ) ) ) ).

% in_mono
thf(fact_170_labeled__graph_Ocase__eq__if,axiom,
    ! [A: $tType,V: $tType,L: $tType] :
      ( ( labele1974067554_graph @ L @ V @ A )
      = ( ^ [F6: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph3: labeled_graph @ L @ V] : ( F6 @ ( labeled_edges @ L @ V @ Labeled_graph3 ) @ ( labeled_vertices @ L @ V @ Labeled_graph3 ) ) ) ) ).

% labeled_graph.case_eq_if
thf(fact_171_chain,axiom,
    ! [A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),I: nat,J4: nat] :
      ( ( chain @ A @ B @ S2 )
     => ( ( ord_less_eq @ nat @ I @ J4 )
       => ( graph_homomorphism @ A @ B @ B @ ( S2 @ I ) @ ( S2 @ J4 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( S2 @ I ) ) ) ) ) ) ).

% chain
thf(fact_172_chain__def2,axiom,
    ! [B: $tType,A: $tType] :
      ( ( chain @ A @ B )
      = ( ^ [S3: nat > ( labeled_graph @ A @ B )] :
          ! [I3: nat,J3: nat] :
            ( ( ord_less_eq @ nat @ I3 @ J3 )
           => ( graph_homomorphism @ A @ B @ B @ ( S3 @ I3 ) @ ( S3 @ J3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( S3 @ I3 ) ) ) ) ) ) ) ).

% chain_def2
thf(fact_173_labeled__graph_Osplit__sel,axiom,
    ! [A: $tType,V: $tType,L: $tType,P: A > $o,F4: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
      ( ( P @ ( labele1974067554_graph @ L @ V @ A @ F4 @ Labeled_graph ) )
      = ( ( Labeled_graph
          = ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
       => ( P @ ( F4 @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ).

% labeled_graph.split_sel
thf(fact_174_graph__unionI,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
     => ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
       => ( ( graph_union @ A @ B @ G_1 @ G_2 )
          = G_2 ) ) ) ).

% graph_unionI
thf(fact_175_extensibleD,axiom,
    ! [A: $tType,C: $tType,B: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
      ( ( extensible @ A @ B @ C @ R @ G @ F4 )
     => ~ ! [G3: set @ ( product_prod @ B @ C )] :
            ( ( graph_homomorphism @ A @ B @ C @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ G @ G3 )
           => ~ ( agree_on @ A @ B @ C @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ F4 @ G3 ) ) ) ).

% extensibleD
thf(fact_176_extensible__def,axiom,
    ! [V: $tType,X: $tType,L: $tType] :
      ( ( extensible @ L @ X @ V )
      = ( ^ [R2: product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ),G4: labeled_graph @ L @ V,F6: set @ ( product_prod @ X @ V )] :
          ? [G5: set @ ( product_prod @ X @ V )] :
            ( ( graph_homomorphism @ L @ X @ V @ ( product_snd @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ G4 @ G5 )
            & ( agree_on @ L @ X @ V @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ F6 @ G5 ) ) ) ) ).

% extensible_def
thf(fact_177_extensibleI,axiom,
    ! [A: $tType,C: $tType,B: $tType,R22: labeled_graph @ A @ B,G: labeled_graph @ A @ C,G6: set @ ( product_prod @ B @ C ),R1: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ R22 @ G @ G6 )
     => ( ( agree_on @ A @ B @ C @ R1 @ F4 @ G6 )
       => ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R1 @ R22 ) @ G @ F4 ) ) ) ).

% extensibleI
thf(fact_178_graph__union__idemp_I1_J,axiom,
    ! [B: $tType,A: $tType,A5: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A5 @ A5 )
      = A5 ) ).

% graph_union_idemp(1)
thf(fact_179_graph__union__idemp_I2_J,axiom,
    ! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A5 @ ( graph_union @ A @ B @ A5 @ B5 ) )
      = ( graph_union @ A @ B @ A5 @ B5 ) ) ).

% graph_union_idemp(2)
thf(fact_180_graph__union__idemp_I3_J,axiom,
    ! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A5 @ ( graph_union @ A @ B @ B5 @ A5 ) )
      = ( graph_union @ A @ B @ B5 @ A5 ) ) ).

% graph_union_idemp(3)
thf(fact_181_agree__on__refl,axiom,
    ! [A: $tType,C: $tType,B: $tType,R: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ R @ F4 @ F4 ) ).

% agree_on_refl
thf(fact_182_agree__on__comm,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( agree_on @ A @ B @ C )
      = ( ^ [X3: labeled_graph @ A @ B,F6: set @ ( product_prod @ B @ C ),G5: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ X3 @ G5 @ F6 ) ) ) ).

% agree_on_comm
thf(fact_183_graph__union__preserves__restrict,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( G_1
        = ( restrict @ A @ B @ G_1 ) )
     => ( ( G_2
          = ( restrict @ A @ B @ G_2 ) )
       => ( ( graph_union @ A @ B @ G_1 @ G_2 )
          = ( restrict @ A @ B @ ( graph_union @ A @ B @ G_1 @ G_2 ) ) ) ) ) ).

% graph_union_preserves_restrict
thf(fact_184_graph__union__chain__sup,axiom,
    ! [B: $tType,A: $tType,S2: nat > ( labeled_graph @ A @ B ),C6: labeled_graph @ A @ B] :
      ( ! [I2: nat] :
          ( ( graph_union @ A @ B @ ( S2 @ I2 ) @ C6 )
          = C6 )
     => ( ( graph_union @ A @ B @ ( chain_sup @ A @ B @ S2 ) @ C6 )
        = C6 ) ) ).

% graph_union_chain_sup
thf(fact_185_agree__on__trans,axiom,
    ! [A: $tType,C: $tType,B: $tType,X2: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C )] :
      ( ( agree_on @ A @ B @ C @ X2 @ F4 @ G6 )
     => ( ( agree_on @ A @ B @ C @ X2 @ G6 @ H )
       => ( agree_on @ A @ B @ C @ X2 @ F4 @ H ) ) ) ).

% agree_on_trans
thf(fact_186_agree__on__subg__compose,axiom,
    ! [A: $tType,C: $tType,B: $tType,R: labeled_graph @ A @ B,G6: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C ),F7: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C )] :
      ( ( agree_on @ A @ B @ C @ R @ G6 @ H )
     => ( ( agree_on @ A @ B @ C @ F7 @ F4 @ G6 )
       => ( ( graph_homomorphism @ A @ B @ B @ F7 @ R @ ( id_on @ B @ ( labeled_vertices @ A @ B @ F7 ) ) )
         => ( agree_on @ A @ B @ C @ F7 @ F4 @ H ) ) ) ) ).

% agree_on_subg_compose
thf(fact_187_subgraph__def,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
      = ( ( G_1
          = ( restrict @ A @ B @ G_1 ) )
        & ( G_2
          = ( restrict @ A @ B @ G_2 ) )
        & ( ( graph_union @ A @ B @ G_1 @ G_2 )
          = G_2 ) ) ) ).

% subgraph_def
thf(fact_188_graph__union__iff,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( ( graph_union @ A @ B @ G_1 @ G_2 )
        = G_2 )
      = ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
        & ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ) ).

% graph_union_iff
thf(fact_189_finite__nat__set__iff__bounded__le,axiom,
    ( ( finite_finite2 @ nat )
    = ( ^ [N: set @ nat] :
        ? [M: nat] :
        ! [X6: nat] :
          ( ( member @ nat @ X6 @ N )
         => ( ord_less_eq @ nat @ X6 @ M ) ) ) ) ).

% finite_nat_set_iff_bounded_le
thf(fact_190_nonempty__rule,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ A @ B] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( maintained @ A @ nat @ B @ ( standa244753842y_rule @ A ) @ G )
        = ( ( labeled_vertices @ A @ B @ G )
         != ( bot_bot @ ( set @ B ) ) ) ) ) ).

% nonempty_rule
thf(fact_191_weak__universalI,axiom,
    ! [X: $tType,A: $tType,B: $tType,C: $tType,R: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_1: labeled_graph @ A @ B,F_12: set @ ( product_prod @ C @ B ),G_2: labeled_graph @ A @ B,T2: itself @ X,F_22: set @ ( product_prod @ C @ B )] :
      ( ! [H_1: set @ ( product_prod @ C @ X ),H_2: set @ ( product_prod @ B @ X ),G7: labeled_graph @ A @ X] :
          ( ( graph_homomorphism @ A @ C @ X @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R ) @ G7 @ H_1 )
         => ( ( graph_homomorphism @ A @ B @ X @ G_1 @ G7 @ H_2 )
           => ( ( ord_less_eq @ ( set @ ( product_prod @ C @ X ) ) @ ( relcomp @ C @ B @ X @ F_12 @ H_2 ) @ H_1 )
             => ? [H2: set @ ( product_prod @ B @ X )] :
                  ( ( graph_homomorphism @ A @ B @ X @ G_2 @ G7 @ H2 )
                  & ( ord_less_eq @ ( set @ ( product_prod @ B @ X ) ) @ H_2 @ H2 ) ) ) ) )
     => ( weak_universal @ X @ A @ C @ B @ T2 @ R @ G_1 @ G_2 @ F_12 @ F_22 ) ) ).

% weak_universalI
thf(fact_192_relcomp__empty1,axiom,
    ! [C: $tType,B: $tType,A: $tType,R: set @ ( product_prod @ C @ B )] :
      ( ( relcomp @ A @ C @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ C ) ) ) @ R )
      = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).

% relcomp_empty1
thf(fact_193_relcomp__empty2,axiom,
    ! [C: $tType,B: $tType,A: $tType,R: set @ ( product_prod @ A @ C )] :
      ( ( relcomp @ A @ C @ B @ R @ ( bot_bot @ ( set @ ( product_prod @ C @ B ) ) ) )
      = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).

% relcomp_empty2
thf(fact_194_empty__subsetI,axiom,
    ! [A: $tType,A5: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A5 ) ).

% empty_subsetI
thf(fact_195_subset__empty,axiom,
    ! [A: $tType,A5: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A5 @ ( bot_bot @ ( set @ A ) ) )
      = ( A5
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% subset_empty
thf(fact_196_Id__on__empty,axiom,
    ! [A: $tType] :
      ( ( id_on @ A @ ( bot_bot @ ( set @ A ) ) )
      = ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ).

% Id_on_empty
thf(fact_197_graph__homomorphism__composes,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,X4: set @ ( product_prod @ B @ C ),C3: labeled_graph @ A @ D,Y3: set @ ( product_prod @ C @ D )] :
      ( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ X4 )
     => ( ( graph_homomorphism @ A @ C @ D @ B2 @ C3 @ Y3 )
       => ( graph_homomorphism @ A @ B @ D @ A2 @ C3 @ ( relcomp @ B @ C @ D @ X4 @ Y3 ) ) ) ) ).

% graph_homomorphism_composes
thf(fact_198_graph__empty__e,axiom,
    ! [A: $tType,B: $tType,V3: set @ B] :
      ( ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 )
      = ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 ) ) ) ).

% graph_empty_e
thf(fact_199_agree__on__empty,axiom,
    ! [A: $tType,C: $tType,B: $tType,F4: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ F4 @ G6 ) ).

% agree_on_empty
thf(fact_200_graph__homomorphism__empty,axiom,
    ! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ G @ F4 )
      = ( ( F4
          = ( bot_bot @ ( set @ ( product_prod @ B @ C ) ) ) )
        & ( G
          = ( restrict @ A @ C @ G ) ) ) ) ).

% graph_homomorphism_empty
thf(fact_201_relcomp__mono,axiom,
    ! [A: $tType,C: $tType,B: $tType,R5: set @ ( product_prod @ A @ B ),R4: set @ ( product_prod @ A @ B ),S5: set @ ( product_prod @ B @ C ),S4: set @ ( product_prod @ B @ C )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R5 @ R4 )
     => ( ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ S5 @ S4 )
       => ( ord_less_eq @ ( set @ ( product_prod @ A @ C ) ) @ ( relcomp @ A @ B @ C @ R5 @ S5 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) ) ) ) ).

% relcomp_mono
thf(fact_202_bot_Oextremum,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] : ( ord_less_eq @ A @ ( bot_bot @ A ) @ A2 ) ) ).

% bot.extremum
thf(fact_203_bot_Oextremum__unique,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] :
          ( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
          = ( A2
            = ( bot_bot @ A ) ) ) ) ).

% bot.extremum_unique
thf(fact_204_bot_Oextremum__uniqueI,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] :
          ( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
         => ( A2
            = ( bot_bot @ A ) ) ) ) ).

% bot.extremum_uniqueI
thf(fact_205_agree__on__ext,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,G: labeled_graph @ A @ B,F_12: set @ ( product_prod @ B @ C ),F_22: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ C @ D )] :
      ( ( agree_on @ A @ B @ C @ G @ F_12 @ F_22 )
     => ( agree_on @ A @ B @ D @ G @ ( relcomp @ B @ C @ D @ F_12 @ G6 ) @ ( relcomp @ B @ C @ D @ F_22 @ G6 ) ) ) ).

% agree_on_ext
thf(fact_206_O__assoc,axiom,
    ! [A: $tType,D: $tType,B: $tType,C: $tType,R: set @ ( product_prod @ A @ D ),S2: set @ ( product_prod @ D @ C ),T4: set @ ( product_prod @ C @ B )] :
      ( ( relcomp @ A @ C @ B @ ( relcomp @ A @ D @ C @ R @ S2 ) @ T4 )
      = ( relcomp @ A @ D @ B @ R @ ( relcomp @ D @ C @ B @ S2 @ T4 ) ) ) ).

% O_assoc
thf(fact_207_relcomp_OrelcompI,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: A,B2: B,R4: set @ ( product_prod @ A @ B ),C3: C,S4: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
     => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B2 @ C3 ) @ S4 )
       => ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A2 @ C3 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) ) ) ) ).

% relcomp.relcompI
thf(fact_208_relcomp_Oinducts,axiom,
    ! [B: $tType,A: $tType,C: $tType,X1: A,X22: C,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C ),P: A > C > $o] :
      ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X1 @ X22 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) )
     => ( ! [A4: A,B4: B,C2: C] :
            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A4 @ B4 ) @ R4 )
           => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B4 @ C2 ) @ S4 )
             => ( P @ A4 @ C2 ) ) )
       => ( P @ X1 @ X22 ) ) ) ).

% relcomp.inducts
thf(fact_209_relcomp_Osimps,axiom,
    ! [B: $tType,C: $tType,A: $tType,A1: A,A22: C,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) )
      = ( ? [A7: A,B6: B,C7: C] :
            ( ( A1 = A7 )
            & ( A22 = C7 )
            & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A7 @ B6 ) @ R4 )
            & ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B6 @ C7 ) @ S4 ) ) ) ) ).

% relcomp.simps
thf(fact_210_relcomp_Ocases,axiom,
    ! [A: $tType,C: $tType,B: $tType,A1: A,A22: C,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) )
     => ~ ! [B4: B] :
            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A1 @ B4 ) @ R4 )
           => ~ ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B4 @ A22 ) @ S4 ) ) ) ).

% relcomp.cases
thf(fact_211_relcompEpair,axiom,
    ! [A: $tType,B: $tType,C: $tType,A2: A,C3: B,R4: set @ ( product_prod @ A @ C ),S4: set @ ( product_prod @ C @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ C3 ) @ ( relcomp @ A @ C @ B @ R4 @ S4 ) )
     => ~ ! [B4: C] :
            ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A2 @ B4 ) @ R4 )
           => ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ B4 @ C3 ) @ S4 ) ) ) ).

% relcompEpair
thf(fact_212_relcompE,axiom,
    ! [A: $tType,B: $tType,C: $tType,Xz: product_prod @ A @ B,R4: set @ ( product_prod @ A @ C ),S4: set @ ( product_prod @ C @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ Xz @ ( relcomp @ A @ C @ B @ R4 @ S4 ) )
     => ~ ! [X5: A,Y4: C,Z3: B] :
            ( ( Xz
              = ( product_Pair @ A @ B @ X5 @ Z3 ) )
           => ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X5 @ Y4 ) @ R4 )
             => ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ Y4 @ Z3 ) @ S4 ) ) ) ) ).

% relcompE
thf(fact_213_finite_OemptyI,axiom,
    ! [A: $tType] : ( finite_finite2 @ A @ ( bot_bot @ ( set @ A ) ) ) ).

% finite.emptyI
thf(fact_214_infinite__imp__nonempty,axiom,
    ! [A: $tType,S2: set @ A] :
      ( ~ ( finite_finite2 @ A @ S2 )
     => ( S2
       != ( bot_bot @ ( set @ A ) ) ) ) ).

% infinite_imp_nonempty
thf(fact_215_finite__has__minimal,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A5: set @ A] :
          ( ( finite_finite2 @ A @ A5 )
         => ( ( A5
             != ( bot_bot @ ( set @ A ) ) )
           => ? [X5: A] :
                ( ( member @ A @ X5 @ A5 )
                & ! [Xa: A] :
                    ( ( member @ A @ Xa @ A5 )
                   => ( ( ord_less_eq @ A @ Xa @ X5 )
                     => ( X5 = Xa ) ) ) ) ) ) ) ).

% finite_has_minimal
thf(fact_216_finite__has__maximal,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A5: set @ A] :
          ( ( finite_finite2 @ A @ A5 )
         => ( ( A5
             != ( bot_bot @ ( set @ A ) ) )
           => ? [X5: A] :
                ( ( member @ A @ X5 @ A5 )
                & ! [Xa: A] :
                    ( ( member @ A @ Xa @ A5 )
                   => ( ( ord_less_eq @ A @ X5 @ Xa )
                     => ( X5 = Xa ) ) ) ) ) ) ) ).

% finite_has_maximal
thf(fact_217_graph__homomorphism__nonempty,axiom,
    ! [B: $tType,A: $tType,C: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),E3: allegorical_term @ A] :
      ( ( graph_homomorphism @ A @ B @ C @ A5 @ B5 @ F4 )
     => ( ( ( semantics @ A @ B @ A5 @ E3 )
         != ( bot_bot @ ( set @ ( product_prod @ B @ B ) ) ) )
       => ( ( semantics @ A @ C @ B5 @ E3 )
         != ( bot_bot @ ( set @ ( product_prod @ C @ C ) ) ) ) ) ) ).

% graph_homomorphism_nonempty
thf(fact_218_bounded__Max__nat,axiom,
    ! [P: nat > $o,X4: nat,M2: nat] :
      ( ( P @ X4 )
     => ( ! [X5: nat] :
            ( ( P @ X5 )
           => ( ord_less_eq @ nat @ X5 @ M2 ) )
       => ~ ! [M3: nat] :
              ( ( P @ M3 )
             => ~ ! [X7: nat] :
                    ( ( P @ X7 )
                   => ( ord_less_eq @ nat @ X7 @ M3 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_219_Id__on__vertices__identity_I2_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),Aa2: B,Ba: C] :
      ( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F4 )
     => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ F4 )
       => ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ ( relcomp @ B @ C @ C @ F4 @ ( id_on @ C @ ( labeled_vertices @ A @ C @ B2 ) ) ) ) ) ) ).

% Id_on_vertices_identity(2)
thf(fact_220_Id__on__vertices__identity_I1_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),Aa2: B,Ba: C] :
      ( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F4 )
     => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ F4 )
       => ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) @ F4 ) ) ) ) ).

% Id_on_vertices_identity(1)
thf(fact_221_translation__homomorphism_I2_J,axiom,
    ! [A: $tType,B: $tType,E3: allegorical_term @ A,G: labeled_graph @ A @ B,F4: set @ ( product_prod @ nat @ B )] :
      ( ( graph_homomorphism @ A @ nat @ B @ ( translation @ A @ E3 ) @ G @ F4 )
     => ( ( semantics @ A @ B @ G @ E3 )
       != ( bot_bot @ ( set @ ( product_prod @ B @ B ) ) ) ) ) ).

% translation_homomorphism(2)
thf(fact_222_weak__universalD,axiom,
    ! [A: $tType,C: $tType,X: $tType,B: $tType,T2: itself @ X,R: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B,F_12: set @ ( product_prod @ C @ B ),F_22: set @ ( product_prod @ C @ B ),G: labeled_graph @ A @ X,H_12: set @ ( product_prod @ C @ X ),H_22: set @ ( product_prod @ B @ X )] :
      ( ( weak_universal @ X @ A @ C @ B @ T2 @ R @ G_1 @ G_2 @ F_12 @ F_22 )
     => ( ( graph_homomorphism @ A @ C @ X @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R ) @ G @ H_12 )
       => ( ( graph_homomorphism @ A @ B @ X @ G_1 @ G @ H_22 )
         => ( ( ord_less_eq @ ( set @ ( product_prod @ C @ X ) ) @ ( relcomp @ C @ B @ X @ F_12 @ H_22 ) @ H_12 )
           => ? [H3: set @ ( product_prod @ B @ X )] :
                ( ( graph_homomorphism @ A @ B @ X @ G_2 @ G @ H3 )
                & ( ord_less_eq @ ( set @ ( product_prod @ B @ X ) ) @ H_22 @ H3 ) ) ) ) ) ) ).

% weak_universalD
thf(fact_223_weak__universal__def,axiom,
    ! [A: $tType,C: $tType,B: $tType,X: $tType] :
      ( ( weak_universal @ X @ A @ C @ B )
      = ( ^ [Uu: itself @ X,R2: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B,F_1: set @ ( product_prod @ C @ B ),F_2: set @ ( product_prod @ C @ B )] :
          ! [H_13: set @ ( product_prod @ C @ X ),H_23: set @ ( product_prod @ B @ X ),G4: labeled_graph @ A @ X] :
            ( ( ( graph_homomorphism @ A @ C @ X @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R2 ) @ G4 @ H_13 )
              & ( graph_homomorphism @ A @ B @ X @ G_12 @ G4 @ H_23 )
              & ( ord_less_eq @ ( set @ ( product_prod @ C @ X ) ) @ ( relcomp @ C @ B @ X @ F_1 @ H_23 ) @ H_13 ) )
           => ? [H4: set @ ( product_prod @ B @ X )] :
                ( ( graph_homomorphism @ A @ B @ X @ G_22 @ G4 @ H4 )
                & ( ord_less_eq @ ( set @ ( product_prod @ B @ X ) ) @ H_23 @ H4 ) ) ) ) ) ).

% weak_universal_def
thf(fact_224_graph__homo__union__id_I2_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A5 @ B5 ) @ G @ F4 )
     => ( ( B5
          = ( restrict @ A @ B @ B5 ) )
       => ( graph_homomorphism @ A @ B @ C @ B5 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ B5 ) ) @ F4 ) ) ) ) ).

% graph_homo_union_id(2)
thf(fact_225_graph__homo__union__id_I1_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A5 @ B5 ) @ G @ F4 )
     => ( ( A5
          = ( restrict @ A @ B @ A5 ) )
       => ( graph_homomorphism @ A @ B @ C @ A5 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A5 ) ) @ F4 ) ) ) ) ).

% graph_homo_union_id(1)
thf(fact_226_finite__relcomp,axiom,
    ! [A: $tType,C: $tType,B: $tType,R: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ B @ C )] :
      ( ( finite_finite2 @ ( product_prod @ A @ B ) @ R )
     => ( ( finite_finite2 @ ( product_prod @ B @ C ) @ S2 )
       => ( finite_finite2 @ ( product_prod @ A @ C ) @ ( relcomp @ A @ B @ C @ R @ S2 ) ) ) ) ).

% finite_relcomp
thf(fact_227_subset__emptyI,axiom,
    ! [A: $tType,A5: set @ A] :
      ( ! [X5: A] :
          ~ ( member @ A @ X5 @ A5 )
     => ( ord_less_eq @ ( set @ A ) @ A5 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% subset_emptyI
thf(fact_228_bot__empty__eq,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( A > $o ) )
      = ( ^ [X6: A] : ( member @ A @ X6 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% bot_empty_eq
thf(fact_229_ssubst__Pair__rhs,axiom,
    ! [B: $tType,A: $tType,R4: A,S4: B,R: set @ ( product_prod @ A @ B ),S5: B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R4 @ S4 ) @ R )
     => ( ( S5 = S4 )
       => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R4 @ S5 ) @ R ) ) ) ).

% ssubst_Pair_rhs
thf(fact_230_less__by__empty,axiom,
    ! [A: $tType,A5: set @ ( product_prod @ A @ A ),B5: set @ ( product_prod @ A @ A )] :
      ( ( A5
        = ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ A5 @ B5 ) ) ).

% less_by_empty
thf(fact_231_agree__iff__subset,axiom,
    ! [A: $tType,C: $tType,B: $tType,G: labeled_graph @ A @ B,X2: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ G @ X2 @ F4 )
     => ( ( univalent @ B @ C @ G6 )
       => ( ( agree_on @ A @ B @ C @ G @ F4 @ G6 )
          = ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F4 @ G6 ) ) ) ) ).

% agree_iff_subset
thf(fact_232_id__univalent,axiom,
    ! [A: $tType,X4: set @ A] : ( univalent @ A @ A @ ( id_on @ A @ X4 ) ) ).

% id_univalent
thf(fact_233_univalentD,axiom,
    ! [A: $tType,B: $tType,R: set @ ( product_prod @ A @ B ),X4: A,Y3: B,Z2: B] :
      ( ( univalent @ A @ B @ R )
     => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y3 ) @ R )
       => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Z2 ) @ R )
         => ( Z2 = Y3 ) ) ) ) ).

% univalentD
thf(fact_234_univalent__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( univalent @ A @ B )
      = ( ^ [R2: set @ ( product_prod @ A @ B )] :
          ! [X6: A,Y6: B,Z4: B] :
            ( ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Y6 ) @ R2 )
              & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Z4 ) @ R2 ) )
           => ( Z4 = Y6 ) ) ) ) ).

% univalent_def
thf(fact_235_find__graph__occurence__vertices,axiom,
    ! [C: $tType,A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),V2: set @ C,F4: set @ ( product_prod @ C @ B )] :
      ( ( chain @ A @ B @ S2 )
     => ( ( finite_finite2 @ C @ V2 )
       => ( ( univalent @ C @ B @ F4 )
         => ( ( ord_less_eq @ ( set @ B ) @ ( image @ C @ B @ F4 @ V2 ) @ ( labeled_vertices @ A @ B @ ( chain_sup @ A @ B @ S2 ) ) )
           => ? [I2: nat] : ( ord_less_eq @ ( set @ B ) @ ( image @ C @ B @ F4 @ V2 ) @ ( labeled_vertices @ A @ B @ ( S2 @ I2 ) ) ) ) ) ) ) ).

% find_graph_occurence_vertices
thf(fact_236_agree__on__subset,axiom,
    ! [C: $tType,B: $tType,A: $tType,F4: set @ ( product_prod @ A @ B ),G6: set @ ( product_prod @ A @ B ),G: labeled_graph @ C @ A] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ F4 @ G6 )
     => ( ( ord_less_eq @ ( set @ A ) @ ( labeled_vertices @ C @ A @ G ) @ ( domain @ A @ B @ F4 ) )
       => ( ( univalent @ A @ B @ G6 )
         => ( agree_on @ C @ A @ B @ G @ F4 @ G6 ) ) ) ) ).

% agree_on_subset
thf(fact_237_ImageI,axiom,
    ! [B: $tType,A: $tType,A2: A,B2: B,R4: set @ ( product_prod @ A @ B ),A5: set @ A] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
     => ( ( member @ A @ A2 @ A5 )
       => ( member @ B @ B2 @ ( image @ A @ B @ R4 @ A5 ) ) ) ) ).

% ImageI
thf(fact_238_Image__empty2,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ B @ A )] :
      ( ( image @ B @ A @ R @ ( bot_bot @ ( set @ B ) ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Image_empty2
thf(fact_239_Domain__Id__on,axiom,
    ! [A: $tType,A5: set @ A] :
      ( ( domain @ A @ A @ ( id_on @ A @ A5 ) )
      = A5 ) ).

% Domain_Id_on
thf(fact_240_Image__empty1,axiom,
    ! [B: $tType,A: $tType,X2: set @ B] :
      ( ( image @ B @ A @ ( bot_bot @ ( set @ ( product_prod @ B @ A ) ) ) @ X2 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Image_empty1
thf(fact_241_Domain__empty,axiom,
    ! [B: $tType,A: $tType] :
      ( ( domain @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Domain_empty
thf(fact_242_univalent__finite_I2_J,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] :
      ( ( univalent @ A @ B @ R )
     => ( ( finite_finite2 @ A @ ( domain @ A @ B @ R ) )
        = ( finite_finite2 @ ( product_prod @ A @ B ) @ R ) ) ) ).

% univalent_finite(2)
thf(fact_243_Domain__O,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: set @ A,X4: set @ ( product_prod @ A @ B ),Y3: set @ ( product_prod @ B @ C )] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ ( domain @ A @ B @ X4 ) )
     => ( ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ X4 @ A2 ) @ ( domain @ B @ C @ Y3 ) )
       => ( ord_less_eq @ ( set @ A ) @ A2 @ ( domain @ A @ C @ ( relcomp @ A @ B @ C @ X4 @ Y3 ) ) ) ) ) ).

% Domain_O
thf(fact_244_finite__Domain,axiom,
    ! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B )] :
      ( ( finite_finite2 @ ( product_prod @ A @ B ) @ R4 )
     => ( finite_finite2 @ A @ ( domain @ A @ B @ R4 ) ) ) ).

% finite_Domain
thf(fact_245_finite__Image,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),A5: set @ A] :
      ( ( finite_finite2 @ ( product_prod @ A @ B ) @ R )
     => ( finite_finite2 @ B @ ( image @ A @ B @ R @ A5 ) ) ) ).

% finite_Image
thf(fact_246_Image__mono,axiom,
    ! [B: $tType,A: $tType,R5: set @ ( product_prod @ A @ B ),R4: set @ ( product_prod @ A @ B ),A8: set @ A,A5: set @ A] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R5 @ R4 )
     => ( ( ord_less_eq @ ( set @ A ) @ A8 @ A5 )
       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ R5 @ A8 ) @ ( image @ A @ B @ R4 @ A5 ) ) ) ) ).

% Image_mono
thf(fact_247_Domain__mono,axiom,
    ! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ A @ B )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R4 @ S4 )
     => ( ord_less_eq @ ( set @ A ) @ ( domain @ A @ B @ R4 ) @ ( domain @ A @ B @ S4 ) ) ) ).

% Domain_mono
thf(fact_248_Domain_Oinducts,axiom,
    ! [B: $tType,A: $tType,X4: A,R4: set @ ( product_prod @ A @ B ),P: A > $o] :
      ( ( member @ A @ X4 @ ( domain @ A @ B @ R4 ) )
     => ( ! [A4: A,B4: B] :
            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A4 @ B4 ) @ R4 )
           => ( P @ A4 ) )
       => ( P @ X4 ) ) ) ).

% Domain.inducts
thf(fact_249_Domain_ODomainI,axiom,
    ! [B: $tType,A: $tType,A2: A,B2: B,R4: set @ ( product_prod @ A @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
     => ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) ) ) ).

% Domain.DomainI
thf(fact_250_Domain_Osimps,axiom,
    ! [B: $tType,A: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
      = ( ? [A7: A,B6: B] :
            ( ( A2 = A7 )
            & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A7 @ B6 ) @ R4 ) ) ) ) ).

% Domain.simps
thf(fact_251_Domain_Ocases,axiom,
    ! [B: $tType,A: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
     => ~ ! [B4: B] :
            ~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R4 ) ) ).

% Domain.cases
thf(fact_252_Domain__iff,axiom,
    ! [A: $tType,B: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
      = ( ? [Y6: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ Y6 ) @ R4 ) ) ) ).

% Domain_iff
thf(fact_253_DomainE,axiom,
    ! [B: $tType,A: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
     => ~ ! [B4: B] :
            ~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R4 ) ) ).

% DomainE
thf(fact_254_rev__ImageI,axiom,
    ! [B: $tType,A: $tType,A2: A,A5: set @ A,B2: B,R4: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ A5 )
     => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
       => ( member @ B @ B2 @ ( image @ A @ B @ R4 @ A5 ) ) ) ) ).

% rev_ImageI
thf(fact_255_Image__iff,axiom,
    ! [A: $tType,B: $tType,B2: A,R4: set @ ( product_prod @ B @ A ),A5: set @ B] :
      ( ( member @ A @ B2 @ ( image @ B @ A @ R4 @ A5 ) )
      = ( ? [X6: B] :
            ( ( member @ B @ X6 @ A5 )
            & ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X6 @ B2 ) @ R4 ) ) ) ) ).

% Image_iff

% Type constructors (22)
thf(tcon_fun___Orderings_Oorder__bot,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( order_bot @ A10 )
     => ( order_bot @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Orderings_Opreorder,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( preorder @ A10 )
     => ( preorder @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Finite__Set_Ofinite,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( ( finite_finite @ A9 )
        & ( finite_finite @ A10 ) )
     => ( finite_finite @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Orderings_Oorder,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( order @ A10 )
     => ( order @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Orderings_Oord,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( ord @ A10 )
     => ( ord @ ( A9 > A10 ) ) ) ).

thf(tcon_Nat_Onat___Orderings_Oorder__bot_1,axiom,
    order_bot @ nat ).

thf(tcon_Nat_Onat___Orderings_Opreorder_2,axiom,
    preorder @ nat ).

thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
    linorder @ nat ).

thf(tcon_Nat_Onat___Orderings_Oorder_3,axiom,
    order @ nat ).

thf(tcon_Nat_Onat___Orderings_Oord_4,axiom,
    ord @ nat ).

thf(tcon_Set_Oset___Orderings_Oorder__bot_5,axiom,
    ! [A9: $tType] : ( order_bot @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Orderings_Opreorder_6,axiom,
    ! [A9: $tType] : ( preorder @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Finite__Set_Ofinite_7,axiom,
    ! [A9: $tType] :
      ( ( finite_finite @ A9 )
     => ( finite_finite @ ( set @ A9 ) ) ) ).

thf(tcon_Set_Oset___Orderings_Oorder_8,axiom,
    ! [A9: $tType] : ( order @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Orderings_Oord_9,axiom,
    ! [A9: $tType] : ( ord @ ( set @ A9 ) ) ).

thf(tcon_HOL_Obool___Orderings_Oorder__bot_10,axiom,
    order_bot @ $o ).

thf(tcon_HOL_Obool___Orderings_Opreorder_11,axiom,
    preorder @ $o ).

thf(tcon_HOL_Obool___Orderings_Olinorder_12,axiom,
    linorder @ $o ).

thf(tcon_HOL_Obool___Finite__Set_Ofinite_13,axiom,
    finite_finite @ $o ).

thf(tcon_HOL_Obool___Orderings_Oorder_14,axiom,
    order @ $o ).

thf(tcon_HOL_Obool___Orderings_Oord_15,axiom,
    ord @ $o ).

thf(tcon_Product__Type_Oprod___Finite__Set_Ofinite_16,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( ( finite_finite @ A9 )
        & ( finite_finite @ A10 ) )
     => ( finite_finite @ ( product_prod @ A9 @ A10 ) ) ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( graph_homomorphism @ b @ nat @ nat @ ( product_fst @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) @ ( id_on @ nat @ ( labeled_vertices @ b @ nat @ ( product_fst @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) ) )
    & ( ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) )
      = ( restrict @ b @ nat @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) )
    & ( finite_finite2 @ nat @ ( labeled_vertices @ b @ nat @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) )
    & ( finite_finite2 @ ( product_prod @ b @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ b @ nat @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) ) ) ).

%------------------------------------------------------------------------------